package ${basePackage}.service${m.prefixPoint(table.modelName)};

import java.util.List;
import com.jd.jxt.jxpp.common.response.PageResult;
import ${basePackage}.domain${m.prefixPoint(table.modelName)}.${table.className};
import ${basePackage}.domain${m.prefixPoint(table.modelName)}.${table.className}Vo;

/**
 * @author ${author!}
 * @since ${timeNow!}
 * ${table.remarks!}
 */
public interface ${table.className}Service {
    /**
     * 根据id查询
     * @param id id
     * @return ${table.className}Vo
     */
    ${table.className}Vo queryById(Long id);
    /**
     * 根据条件查询对象
     * @param query 查询条件Vo
     * @return ${table.className}Vo
     */
    ${table.className}Vo queryForObject(${table.className}Vo query);
    /**
     * 根据条件查询列表
     * @param query 查询条件Vo
     * @return List<${table.className+'Vo'}>
     */
    List<${table.className+'Vo'}> queryForList(${table.className}Vo query);
    /**
     * 根据条件查询分页
     * @param query 查询条件Vo
     * @return PageResultVo<${table.className+'Vo'}>
     */
    PageResult<${table.className+'Vo'}> queryPageList(${table.className}Vo query);
    /**
     * 新增
     * @param entity 新增对象
     * @return 影响记录数
     */
    Long insert(${table.className} entity);
    /**
     * 更新
     * @param entity 修改对象
     * @return 影响记录数
     */
    Integer update(${table.className} entity);
    /**
     * 根据id删除
     * @param id id
     * @return 影响记录数
     */
    Integer deleteById(Long id);
    /**
     * 新增或修改
     * @param param 参数
     * @return 影响记录数
     */
    Long save(${table.className}Vo param);
}